#ifndef FACE_H
#define FACE_H

#include "model/object.h"
#include <vector>

class HalfEdge;
class Vertex;
class Object;

class Face {

    //-------------------------------------------------------------//
    //                          ATTRIBUTES                         //
    //-------------------------------------------------------------//

public:
    Object *object;
    HalfEdge *edge;
    unsigned int index;

    //-------------------------------------------------------------//
    //                          METHODS                            //
    //-------------------------------------------------------------//

public:
    Face( Object &object, HalfEdge &edge );
    const std::vector<const Vertex*> getVertexs() const;
    const std::vector<const HalfEdge*> edges() const;
    const Point getNormalVector() const;
    const Point getCenter() const;
};

#endif // FACE_H

